package com.sinopec.pi.scalaguide.function

/**
 * 函数的基础示例。
 * - 类的函数即为方法。
 * - 函数支持局部定义，即嵌套函数。
 */
class Point(var x: Double = 0, var y: Double = 0) {

    def move(dx: Double = 0.0, dy: Double = 0.0): Unit = {
        x += dx
        y += dy
    }
    override def toString: String = s"($x, $y)"
}

object Point {
    def main(args: Array[String]): Unit = {
        val p = new Point(1, 2)
        p.move(1.0)
        println(p)  // prints (2.0, 2.0)
        p.move(dy = 1.0)
        println(p)  // prints (2.0, 3.0)
    }
}
